package com.bpmn.flow.service;

import com.bpmn.common.pojo.PageResult;
import com.bpmn.flow.controller.query.ProcessInstanceQuery;
import com.bpmn.flow.controller.vo.BpmnModelViewVo;
import com.bpmn.flow.controller.vo.InstanceVo;

import java.util.List;

/**
 * @author rain
 * @description 流程实例服务
 * @date 2025年01月09日 14:50
 */
public interface InstanceService {

    PageResult<InstanceVo> getProcessInstancePage(ProcessInstanceQuery pageReqVO);

    BpmnModelViewVo getBpmnModelView(String id);

    void stopProcessInstance(String id);

    /**
     * 复活流程实例
     *
     * @param processInstanceId 流程实例ID
     * @param activityIds       要复活的节点列表
     */
    void restartProcessInstance(String processInstanceId, List<String> activityIds);

}
